// 此文件背后的计划已失败、破产
import fs from 'node:fs';
import crypto from 'node:crypto';

// 加密的.ts文件路径
const encryptedFilePath = '\\\\10.1.1.5\\video\\_待处理\\虚天战纪下\\e715eb74e3c2fc8e32c8458b76c39661\\video_0.ts';
// 解密后的.ts文件路径
const decryptedFilePath = '\\\\10.1.1.5\\video\\_待处理\\虚天战纪下\\video_1x.ts';
// 16位的密匙字符串
const key = '\\xL\\xH\\x4\\x1\\xo\\x4\\x6\\xo\\xH\\x1\\x9\\xx\\xB\\xU\\xQ\\xh';
// 初始化向量（IV），如果有的话
const iv = '00000000000000000000000000000000'; // 如果没有IV，可以使用空字符串

// 将密匙字符串转换为Buffer
const keyBuffer = Buffer.from(key, 'binary');
// 将IV字符串转换为Buffer，如果有的话
const ivBuffer = iv ? Buffer.from(iv, 'hex') : null;
console.log('创建解密流==>', keyBuffer, ivBuffer);
// 创建解密流
const decipher = crypto.createDecipheriv('aes128', keyBuffer, ivBuffer);

// 读取加密的.ts文件
fs.readFile(encryptedFilePath, (err, data) => {
    if (err) {
        console.error('Error reading encrypted file:', err);
        return;
    }

    // 解密数据
    let decrypted = decipher.update(data, 'binary', 'binary');
    decrypted += decipher.final('binary');

    // 写入解密后的.ts文件
    fs.writeFile(decryptedFilePath, decrypted, err => {
        if (err) {
            console.error('Error writing decrypted file:', err);
            return;
        }
        console.log('File decrypted successfully.');
    });
});
